package com.yisu.auction.api.core.service;

import com.yisu.auction.api.domain.request.BasePage;
import com.yisu.auction.api.domain.request.memberPackage.AddressRequest;
import com.yisu.auction.api.domain.request.prizePackage.ReceivingAddressRequest;
import com.yisu.auction.api.domain.vo.PrizePackageVos.ReceivingAddressVo;

import java.util.List;

/**
 * author: 赵杰
 * Business Description：
 * createTime：2017/8/19
 */
public interface IAddressService {
    /**
     * author:黄萧林
     * Business Description:添加收货地址
     * @param receivingAddressRequest
     * @return
     */
    boolean addReceivingAddress(ReceivingAddressRequest receivingAddressRequest);

    /**
     * author:黄萧林
     * Business Description:获取当前收货地址信息
     * @param id
     * @return
     */
    ReceivingAddressVo getReceivingAddressInfo(Long id);

    /**
     * author:黄萧林
     * Business Description:保存当前收货地址修改
      * @param receivingAddressVo
     * @return
     */
    Boolean saveReceivingAddressInfo(ReceivingAddressVo receivingAddressVo);

    /**
     * author:黄萧林
     * Business Description:删除收货地址
     * @param addressRequest 含memberId,id
     * @return
     */
    Boolean deleteReceivingAddress(AddressRequest addressRequest);

    /**
     * author:黄萧林
     * Business Description:获取我的收货地址列表
     * @param basePage
     * @return
     */
    List<ReceivingAddressVo> getMineReceivingAddressList(BasePage basePage);

    /**
     * author:赵杰
     * Business Description: 通过会员ID获取默认收货地址
     * @param memberId
     * @return
     */
    ReceivingAddressVo getDefaultAddressByMemberId(Long memberId);
}
